/**
 * @param {number[]} nums
 * @return {number[]}
 */
 var replaceNonCoprimes = function(nums) {
  let next = [nums[0]]
  for(let i = 1; i<nums.length; i++) {
    let last = next[next.length-1]
    if(gcd(nums[i], last) > 1) {
      next.pop()
      next.push(scm(nums[i], last))
    } else {
      next.push(nums[i])
    }
  }
  return next
  function check(arr) {
    for(let i = 1; i<arr.length; i++) {
      if(gcd(nums[i], nums[i-1]) > 1){
        return true
      }
    }
    return false
  }

  // 求最大公约数
  function gcd(x, y) {
    if(y === 0) return x
    return gcd(y, x%y)
  }

  // 求最小公倍数
  function scm(x, y){
    return (x * y)/gcd(x,y)
  }
};


